<?php


namespace app\service;

use ReflectionClass;
use think\Container;

/**
 * 全部服务层的基类
 * Class BaseService
 * @package app\service
 */
class BaseService
{


    /**
     * @return static mixed
     */
    public static function instance($new = false)
    {
        return  Container::getInstance()->make(static::class, $var= [] , $new);
    }



    /**
     * @param $data 成功的数据
     * @param string $msg 消息
     * @return array 格式化数据结果，返回给调用方
     */
     public function success($msg='',$data=''):array{
         $result =[
             'status' => 1,
             'data' => $data,
             'msg'=> $msg
         ];
        return $result;
     }

    /**
     * @param string $msg 成功的数据
     * @param $data 错误数据
     * @return array 格式化数据结果，返回给调用方
     */
    public function error($msg='',$data=''):array{
        $result =[
            'status' => 0 ,
            'data' => $data,
            'msg'=> $msg
        ];
        return $result;
    }

    /**
     * 根据VIP级别获取有效期
     * @param int $vip_lv
     * @return int
     */
    public function getVipDayByVipLv(int $vip_lv) : int {
        return  365;
    }
}